home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / util / crypt / idea.lha / idea.doc < prev    next >
Text File  |  1992-08-26  |  4KB  |  133 lines

  1. NAME
  2.      idea - encrypt and decrypt using IDEA
  3.  
  4. SYNOPSIS
  5.      idea [ -e | -d ] [ -ecb | -cbcN | -cfbN | -ofbN ]
  6.           ( -k keyString | -K keyHexString )
  7.           [ inputFile [ ouputFile ] ]
  8.  
  9.      idea [ -h | -H ] [ -tan | -abr ]
  10.           [ -k keyString | -K keyHexString ]
  11.           [ inputFile [ [ ouputFile ] hashvalFile ]
  12.  
  13. DESCRIPTION
  14.      Idea reads inputFile and writes  the  en/decrypted  data  to
  15.      outputFile or writes the hash value to hashvalFile.  If file
  16.      name is not given in command line, idea uses standard  input
  17.      or  output.   If  the  input file name is given as '-', idea
  18.      reads from the standard input.
  19.  
  20.      IDEA (International Data Encryption Algorithm)  is  a  block
  21.      cipher developed by Xuejia Lai and Prof. Dr. J. L. Massey at
  22.      the Swiss Federal Institute of Technology.
  23.  
  24. OPTIONS
  25.      -e   Encrypt data. (default)
  26.  
  27.      -d   Decrypt data.
  28.  
  29.      -k   Key is specified with keyString.
  30.  
  31.      -K   Key and initial values are specified with keyHexString.
  32.  
  33.      -h   Compute a 128 bit hash value from the input  data.  The
  34.           hash  value is written to hashvalFile (or standard out-
  35.           put).
  36.  
  37.      -H   Compute a 128 bit hash value from the input  data.  The
  38.           input  is copied to outputFile (or standard output) and
  39.           the hash value is written to hashvalFile  (or  standard
  40.           error).
  41.  
  42.      Notation:
  43.           N           = interleave factor (1 is default)
  44.           z           = 128 bit key
  45.           x[i]        = 64 bit plaintext block
  46.           y[i]        = 64 bit ciphertext block
  47.           x[1]..x[L]  = plaintext  (last  block  is  filled  with
  48.                         zeros)
  49.           x[L+1]      = length of plaintext in bits
  50.           y[1]..y[L+1]= ciphertext
  51.           IDEA(z, .)  = encryption function
  52.           IIDEA(z, .) = decryption function
  53.           x = IIDEA(z, IDEA(z ,x))
  54.  
  55.      Encryption / Decryption Modes:
  56.  
  57.      -ecb electronic code book mode
  58.           y[i] = IDEA(z, x[i])
  59.           x[i] = IIDEA(z, y[i])
  60.  
  61.      -cbc cipher block chaining mode (cbc1 is default)
  62.           y[i] = IDEA(z, x[i] ^ y[i-N])
  63.           x[i] = IIDEA(z, y[i]) ^ y[i-N]
  64.  
  65.      -cfb ciphertext feedback mode
  66.           y[i] = x[i] ^ IDEA(z, y[i-N])
  67.           x[i] = y[i] ^ IDEA(z, y[i-N])
  68.  
  69.      -ofb output feedback mode
  70.           h[i] = IDEA(z, h[i-N])
  71.           y[i] = x[i] ^ h[i]
  72.           x[i] = y[i] ^ h[i]
  73.  
  74.      Hash Functions:
  75.           If no key is given, idea uses the all zero key.
  76.           hash value = h[L+1] * 2**64 + g[L+1]
  77.           h[0] = z / 2**64
  78.           g[0] = z % 2**64
  79.  
  80.      -tan tandem DM-scheme (default)
  81.           w = IDEA(g[i-1] * 2**64 + x[i], h[i-1])
  82.           h[i] = h[i-1] ^ w
  83.           g[i] = g[i-1] ^ IDEA(x[i] * 2**64 + w, g[i-1])
  84.  
  85.      -abr abreast DM-scheme
  86.           h[i] = h[i-1] ^ IDEA(g[i-1] * 2**64 + x[i], h[i-1])
  87.           g[i] = g[i-1] ^ IDEA(x[i] * 2**64 + h[i-1], ~ g[i-1])
  88.  
  89.      Key Formats:
  90.           keyHexString = { '0'..'9' | 'a'..'f' | 'A'..'F' | ':' }
  91.           keyHexString = z:y[1-N]:y[2-N]:y[3-N]..
  92.           keyString = { '!'..'~' } = z
  93.  
  94. EXAMPLES
  95.      To encrypt and decrypt a file in cipher block chaining  mode
  96.      with an interleave factor of 8:
  97.  
  98.           idea -e -cbc8 -K 12345:67:89::ab:cDEf data data.cr
  99.           idea -d -cbc8 -K 12345:67:89::ab:cDef data.cr data.ori
  100.           data and data.ori are identical
  101.  
  102.      To compute the hash value with tandem DM-scheme:
  103.  
  104.           idea -h data
  105.  
  106.      To compute the hash value and encrypt the data in one step:
  107.  
  108.           idea -Hk "k e y" data | idea -K 123:9a::eF - data.cr
  109.  
  110. PATENT
  111.      IDEA is registered as the international patent  WO  91/18459
  112.      "Device for Converting a Digital Block and the Use thereof".
  113.      For commercial use of IDEA, one should contact
  114.  
  115.      ASCOM TECH AG
  116.      Freiburgstrasse 370
  117.      CH-3018 Bern, Switzerland
  118.  
  119. AUTHOR
  120.      Richard De Moliner (demoliner@isi.ethz.ch)
  121.      Signal and Information Processing Laboratory
  122.      Swiss Federal Institute of Technology
  123.      CH-8092 Zurich, Switzerland
  124.  
  125. BUGS
  126.      This program is at most as strong as  IDEA  itself.  So,  we
  127.      urge  the user to use this program only after he has assured
  128.      himself that IDEA is strong  enough  AND  he  has  read  the
  129.      source  code  of  this  program and its libraries AND he has
  130.      compiled the program himself with a troyan-free compiler. WE
  131.      DO  NOT  GUARANTEE  THAT THIS PROGRAM IS A DECENT ENCRYPTION
  132.      PROGRAM.
  133.